package com.cy.pj.module.controller;

import com.cy.pj.module.pojo.RequestParameter;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

@RestController
public class ParamObjectController {

    @GetMapping("/doParam01")//400问题是请求的参数与服务器端处理的参数不匹配，参数的个数，类型，格式不匹配导致400异常
    public String doMethodParam(@RequestParam(required = false) String name){//直接量接收请求参数，参数名要与请求参数名相同
        return "request params"+name;
    }

    @RequestMapping("/doParam02")
    public String doMethodParam(RequestParameter param11){//pojo对象接收请求参数，pojo对象中需要提供与参数名相匹配的set方法
        return "request params"+param11.toString();
    }

    @PostMapping("/doParam03")//请求的参数他本身不会写入map,在方法中写map是封装
    //响应数据的，不会接受客户端提交的数据
    public String doMethodParam(@RequestParam Map<String,Object> param){//map接收请求参数，必须使用@RequestParam对参数描述这是规则，否则不会主动接收数据
        return "request params"+param.toString();}//405请求方式不匹配
}
